Deleting Data
Introduction
The DELETE statement in SQL is used to remove existing records from a table. This section will cover the basic syntax for deleting data, how to use the WHERE clause to target specific rows, and considerations for using the TRUNCATE statement.
Basic DELETE Statement
The basic DELETE statement allows you to remove one or more rows from a table.
DELETE FROM table_name
WHERE condition;
Example
Delete all employees in department 101:
DELETE FROM employees
WHERE departmentid = 101;
Using the WHERE Clause
The WHERE clause is crucial in a DELETE statement to specify which rows should be deleted. Without a WHERE clause, all rows in the table will be deleted.
Example
Delete a specific employee by name:
DELETE FROM employees
WHERE firstname = 'John' AND last_name = 'Doe';
Deleting All Rows
To delete all rows in a table without removing the table itself, omit the WHERE clause.
Example
Delete all rows from the employees table:
DELETE FROM employees;
TRUNCATE Statement
The TRUNCATE statement removes all rows from a table but is faster than DELETE without a WHERE clause because it deallocates the data pages used by the table.
TRUNCATE TABLE table_name;
Example
Remove all rows from the employees table:
TRUNCATE TABLE employees;
Considerations
- Data Integrity: Ensure that deleting rows does not violate any referential integrity constraints. Foreign key relationships can be affected by
DELETEoperations. - Backup: Always back up your data before performing delete operations, especially if they involve large amounts of data or critical tables.
Practice Exercises
- Delete any
customersthat have not made an order - Delete a product
cateory